package com.xinke.query.model.form;

import com.xinke.query.model.entity.QueryJsonParams;
import com.xinke.query.model.enums.QueryType;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import jakarta.validation.constraints.NotNull;

@Schema(description = "用户查询表单类")
@Data
public class GaoSuInfoForm {

    /**
     * 申请查询唯一id，uuid
     */
    @NotNull(message = "applyId不能为空")
    @Schema(description = "申请查询唯一id base64")
    private String applyId;

    /**
     * 查询条件（JSON类型）
     * 这里使用Map接收JSON数据，也可根据实际结构定义为实体类
     */
    @NotNull(message = "queryJsonparams不能为空")
    @Schema(description = "查询条件（JSON类型）")
    private QueryJsonParams queryJsonparams;

    /**
     * 查询数据类型:1-高速卡口/出口记录 ，2-etc登记信息，3-高速卡口/出入口图片信息
     */
    @NotNull(message = "queryType不能为空")
    @Schema(description = "查询类型")
    private QueryType queryType;

    /**
     * 文件二进制流
     * 注意：大文件建议存储路径而非二进制，这里仅按表结构映射
     */
    @NotNull(message = "文件二进制流不能为空")
    @Schema(description = "文件二进制流")
    private byte[] fileContent;

    /**
     * 文件名称
     */
    @NotNull(message = "文件名称不能为空")
    @Schema(description = "文件名称")
    private String fileName;

    /**
     * MD5加密
     */
    @NotNull(message = "文件md5不能为空")
    @Schema(description = "文件md5")
    private String md5;

}
